package Song.Han.day03.demo03;
/*
局部变量和成员变量：
 1.定义的位置不一样
    局部变量：在方法的内部
    成员变量：在方法的外部，直接写在类中
 2.作用的范围不一样
    局部变量：只在方法内部可用
    成员变量：整个类可用
 3.默认值不一样
    局部变量：没有默认值，若要使用，必须手动赋值
    成员变量：有默认值，同数组
 4.内存位置不一样
    局部变量：位于栈内存
    成员变量：堆内存
 5.生命周期不一样
    局部变量：随着方法进出栈而产生或消失
    成员变量：随着对象的创建而诞生，随着对象被垃圾回收而消失

*/

public class Demo01VariableDifference {

    String name;

    public void methodA(){
        int num = 20;
        System.out.println(num);
        System.out.println(name);
    }

    public void methodB(int param){//方法的参数就是局部变量
        //参数在方法调用时必然会赋值，故不会因为没赋值而报错
        System.out.println(param);
        int age;
        //System.out.println(age); //age没赋值不可用
        //System.out.println(num); //num不可用
        System.out.println(name);
    }

}
